Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Yocto 5.1 - Styhead #189

Draft
wants to merge 82 commits into
base: styhead
Choose a base branch
from
Draft

Conversation

hnez
Copy link
Member

@hnez hnez commented Oct 4, 2024

This updates meta-lxatac to the yocto styhead release.

TODO before merging:

  • Wait for styhead to be released
  • Fix some of the TODO in the commit messages

We do not use the generated tar archives anywhere, so we can save
some CPU cycles by not building them.

Signed-off-by: Leonard Göhrs <[email protected]>
The `.bbappend` did once set the `SRCREV` but it no longer does.
It only set the `FILESEXTRAPATHS` but none of the files were actually used
by the `.bb`.

Signed-off-by: Leonard Göhrs <[email protected]>
Since it is not true for meta-lxatac (currently).

Signed-off-by: Leonard Göhrs <[email protected]>
This makes the list more readable - especially in diffs.

Signed-off-by: Leonard Göhrs <[email protected]>
This makes the list more readable - especially in diffs.

Signed-off-by: Leonard Göhrs <[email protected]>
This adds a tiny amount of debug info to every binary that makes
e.g. `coredump` far more useful.
It also auto-enables the `coredump` and `elfutils` `PACKAGECONFIG`s
in systemd, so setting them manually is no longer required.

Signed-off-by: Leonard Göhrs <[email protected]>
The `genimage` version in meta-ptx was updated to v18,
which no longer uses `genext2fs` by default.
Which is great because the project is not well maintained and the
recipe for it was even removed in meta-ptx master.

Signed-off-by: Leonard Göhrs <[email protected]>
meta-lxatac-{bsp,software}: misc cleanups
hnez and others added 10 commits October 8, 2024 13:26
umpf tag is now: 6.11/customers/lxa/lxatac/20240917-1
The tag includes the following topic branches:

  - v6.11/topic/reproducible-build
  - v6.8/customers/lxa/lxatac

Signed-off-by: Leonard Göhrs <[email protected]>
Starting with commit 86634fa4e6aef ("Merge v6.10-rc6 into drm-next") the
tacd fails to write to the /dev/fb0 device with a SIGBUS error.

This merge commit is the first affected commit because it brings together
these two commits for the first time:

- commit 9317ff69170d3 ("drm/tiny/panel-mipi-dbi: Use fbdev-dma")
- commit d92a7580392ad ("drm/fbdev-dma: Only set smem_start is enable per
   module option")

The first one changes panel-mipi-dbi from being a `drm_fbdev_generic`
device to being a `drm_fbdev_dma` device.
The second one prevents `drm_fbdev_dma` devices from leaking the memory
address of the framebuffer to userspace unless the
`drm_kms_helper.drm_leak_fbdev_smem=1` kernel commandline option is set.

This being an issue is likely a bug in the panel-mipi-dbi driver that
should be fixed there, but this workaround makes sure we can use 6.11
until the driver is fixed.

Signed-off-by: Leonard Göhrs <[email protected]>
meta-lxatac-bsp: linux-lxatac: upgrade to 6.11
Bumps the layers group with 1 update: [meta-oe](https://github.com/openembedded/meta-openembedded).


Updates `meta-oe` from `735ae03` to `72018ca`
- [Commits](openembedded/meta-openembedded@735ae03...72018ca)

---
updated-dependencies:
- dependency-name: meta-oe
  dependency-type: direct:production
  dependency-group: layers
...

Signed-off-by: dependabot[bot] <[email protected]>
…bot/submodules/layers-20e3f9ac97

meta-*: bump meta-oe from `735ae03` to `72018ca` in the layers group
Bumps the layers group with 3 updates: [meta-virtualization](https://github.com/lgirdk/meta-virtualization), poky and meta-selinux.


Updates `meta-virtualization` from `e5878c8` to `6f3c1d8`
- [Commits](lgirdk/meta-virtualization@e5878c8...6f3c1d8)

Updates `poky` from `c799f73` to `cd44e6b`

Updates `meta-selinux` from `9f5a466` to `3aff015`

---
updated-dependencies:
- dependency-name: meta-virtualization
  dependency-type: direct:production
  dependency-group: layers
- dependency-name: poky
  dependency-type: direct:production
  dependency-group: layers
- dependency-name: meta-selinux
  dependency-type: direct:production
  dependency-group: layers
...

Signed-off-by: dependabot[bot] <[email protected]>
…bot/submodules/layers-f702fce890

meta-*: bump the layers group with 3 updates
It is not clear what this line was supposed to achieve,
but removing it did not change the bitbake -e linux-lxatac output,
so it be safe to remove it.

Signed-off-by: Leonard Göhrs <[email protected]>
The Yocto 4.2 (Mickledore) migration guide says the following about
rng-tools:

    openssh no longer uses :term:`RRECOMMENDS` to pull in ``rng-tools``

I can not find any current recipe that recommends rng-tools,
so we are safe to remove this line.

Signed-off-by: Leonard Göhrs <[email protected]>
It looks like none of the packages we install comes from or depends on
meta-perl, so we can safely remove it from our list of layers.

Signed-off-by: Leonard Göhrs <[email protected]>
jluebbe and others added 9 commits October 18, 2024 16:27
…a UART

The UART support was still left over from the initial STM32 defconfig.

Signed-off-by: Jan Luebbe <[email protected]>
meta-lxatac-{bsp,software}: misc cleanups
This marks a breaking change compared to the previous release version of
labgrid, as this new development version now uses grpc instead of crossbar
to communicate between the client, coordinator and exporters.

This means all of these components need to be updated to the grpc-based
versions at the same time.

See labgrid-project/labgrid#1469 for more
information about this change.

Signed-off-by: Leonard Göhrs <[email protected]>
meta-labgrid: update to a version that adds grpc support
meta-lxatac-bsp: linux-lxatac: enable USB wireless drivers
This makes it so that artifacts are no longer uploaded via the internet to
GitHub's cloud infrastructure but instead stay on the physical server the
builds run on.

Since the built images will mostly be consumed from within the building the
server is located in this should reduce the upload bandwidth used,
allowing us to also upload the eMMC image and not only the RAUC bundle.

Since the uploaded files are served from a webserver as-is,
instead of being packaged in a zip file like "normal" artifacts are,
they can also be used in a `rauc install` call directly,
making testing of a build much easier.

The artifact file that _is_ uploaded to GitHub's infrastructure contains
`.desktop` files with `Link=https://...` entries withing them that point
to the location of the actual file.

Signed-off-by: Leonard Göhrs <[email protected]>
Commit e3b9c26 should have updated the labgrid version used to the one
configured in meta-labgrid.
Instead it only updated the recipe (and dropped the dependency for
autobahn etc.), so we currently have a labgrid version installed that
still depends on autobahn, but with dependencies for a grpc based labgrid
version.
This results in `labgrid-exporter.service` failing to start:

    Traceback (most recent call last):
      File "/usr/bin/labgrid-exporter", line 5, in <module>
        from labgrid.remote.exporter import main
      File "/usr/lib/python3.12/site-packages/labgrid/remote/exporter.py", line 19, in <module>
        from autobahn.asyncio.wamp import ApplicationRunner, ApplicationSession
    ModuleNotFoundError: No module named 'autobahn'

Fix that by _actually_ using the SRCREV from meta-labgrid.

Fixes: e3b9c26 ("meta-labgrid: update to a version that adds grpc support")
Signed-off-by: Leonard Göhrs <[email protected]>
…load

ci: build: enable artifact upload to the local Forrest runner
a3f and others added 29 commits November 12, 2024 10:24
RKUSBLoader is the resource associated with Rockchip SoCs that fall
through to BootROM mode, when no other bootable media is found.

Add it to the resource list, so the Labgrid exporter running on the LXA
TAC can announce suitable resources when they exist.

Note that this on its own is not sufficient: RKUSBDriver, which will
operate on RKUSBLoader expects rkdeveloptool to be installed.
This is available in the Debian repositories, but we don't have a
bitbake recipe for that yet.

What we do have is rk-usb-loader, which is the RK35xx-loader bundled
with barebox. This supports only the SoCs supported by barebox, has
different arguments than rkdeveloptool and is not supported by Labgrid
at all. The fact that the default tool expected by RKUSBDriver is
named rk-usb-loader is a quite unfortunate accident...

Signed-off-by: Ahmad Fatoum <[email protected]>
Labgrid's ManagedFile class handles synchronisation of files to remote hosts.
When a path is not accessible on the TAC, it will be transferred into
/var/cache/labgrid and then that path is passed to locally installed tools.

To allow transparently using these paths from within a container, add it
to the volumes passed through when running container-start.

This was tested as follows:

  - On the development host, create rkdeveloptool-rk3399pro.yaml with:
    targets:
      main:
        resources:
          RemotePlace:
            name: !template '$LG_PLACE'
        drivers:
          RKUSBDriver:
            usb_loader: usb_loader
    tools:
      rk-usb-loader: /bin/rkdeveloptool
    images:
      usb_loader: /home/a3f/Downloads/rk3399pro_loader_v1.20.115.bin

  - On the TAC, install rkdeveloptool inside the Debian container

  - On the TAC, add /bin/rkdeveloptool with:
    #!/bin/sh

    podman start debian >/dev/null
    podman exec debian rkdeveloptool "$@"
    podman stop -i -t 0 debian >/dev/null

  - On the TAC, add into Labgrid System config for each USB port:
    RKUSBLoader:
      match:
        'ID_PATH': '{{sysfs}}'

This allowed using of labgrid-client bootstrap to call rkdeveloptool on
the remote target without having to have a recipe for rkdeveloptool.

Signed-off-by: Ahmad Fatoum <[email protected]>
meta-lxatac-software: distro: tacos: configure VOLATILE_LOG_DIR in distro
meta-lxatac-software: bcu: prepare for upstreaming
labgrid-exporter: add RKUSBLoader match to template
…labgrid

meta-lxatac-software: containers: pass through /var/cache/labgrid
styhead is the new/upcoming Yocto release.
Update all layers that already have a styhead branch to use it and use
master for all other layers.

Signed-off-by: Leonard Göhrs <[email protected]>
The TCLIBCAPPEND was removed in oe-core commit ebcd355 and there is now a
warning whenever it is used.

Signed-off-by: Leonard Göhrs <[email protected]>
The patch-status QA check checks for `.patch` files without an
Upstream-Status.
We should likely get rid of those, but until then do not make the build
fail because of them.

Signed-off-by: Leonard Göhrs <[email protected]>
The buildpaths QA check checks for reference to TMPDIR in build artifacts.
We should likely get rid of those, but until then do not make the build
fail because of them.

Signed-off-by: Leonard Göhrs <[email protected]>
The migration guide in `migration-5.1.rst` suggests the following:

  Users can disable the volatile log by removing the value
  `files/fs-perms-volatile-log.txt` from `FILESYSTEM_PERMS_TABLES`.

Signed-off-by: Leonard Göhrs <[email protected]>
Since the duplication from poky, the original local.conf.sample changed
a bit compared to our variant.

This is just a sync with the current version from styhead.

Signed-off-by: Leonard Göhrs <[email protected]>
All of the affected files are simple "take a file from SRC_URI and place
it in the rootfs" recipes, so they all follow the same pattern.

Signed-off-by: Leonard Göhrs <[email protected]>
TODO: some words about the destdir URL suffix

Signed-off-by: Leonard Göhrs <[email protected]>
TODO: some words about the destdir URL suffix

Signed-off-by: Leonard Göhrs <[email protected]>
TODO: some words about the destdir URL suffix

Signed-off-by: Leonard Göhrs <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants